package com.hnkywl.sts.service.base;

import com.hnkywl.sts.dao.base.BmDao;
import com.hnkywl.sts.entity.htgl.Xsht;
import com.hnkywl.sts.entity.sys.Bm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.SQLException;

/**
 * Created with IntelliJ IDEA.
 * User: jerry
 * Date: 13-4-17
 * Time: 下午2:54
 * To change this template use File | Settings | File Templates.
 */
@Service
public class BmService {
    /**
     * 一级物资编码
     *
     * @return
     */
    public String getYjwzbm() {
        return getYjwzbmO().getBmz();
    }

    /**
     * 一级物资编码
     *
     * @return
     */
    public Bm getYjwzbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getYjwzbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 二级物资编码
     *
     * @param yjwzbm 一级物资编码
     * @return
     */
    public String getEjwzbm(String yjwzbm) {
        return getEjwzbmO(yjwzbm).getBmz();
    }

    /**
     * 二级物资编码
     *
     * @param yjwzbm 一级物资编码
     * @return
     */
    public Bm getEjwzbmO(String yjwzbm) {
        Bm bm = null;
        try {
            bm = bmDao.getEjwzbm(yjwzbm);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 品名编码
     *
     * @param ejwzbm 二级物资编码
     * @return
     */
    public String getPmwzbm(String ejwzbm) {
        return getPmwzbmO(ejwzbm).getBmz();
    }

    /**
     * 品名编码
     *
     * @param ejwzbm 二级物资编码
     * @return
     */
    public Bm getPmwzbmO(String ejwzbm) {
        Bm bm = null;
        try {
            bm = bmDao.getPmwzbm(ejwzbm);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 规格编码
     *
     * @param ppwzbm 品名物资编码
     * @return
     */
    public String getGgwzbm(String ppwzbm) {
        return getGgwzbmO(ppwzbm).getBmz();
    }

    /**
     * 规格编码
     *
     * @param ppwzbm 品名物资编码
     * @return
     */
    public Bm getGgwzbmO(String ppwzbm) {
        Bm bm = null;
        try {
            bm = bmDao.getGgwzbm(ppwzbm);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 机构编码
     *
     * @return 机构编码
     */
    public String getJgbm() {
        return getJgbmO().getBmz();
    }

    /**
     * 机构编码
     *
     * @return 机构编码
     */
    public Bm getJgbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getJgbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 客户编码
     *
     * @return 客户编码
     */
    public String getKhbm() {
        return getKhbmO().getBmz();
    }

    /**
     * 客户编码
     *
     * @return 客户编码
     */
    public Bm getKhbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getKhbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 仓库编码
     *
     * @return
     * @throws SQLException
     */
    public String getCkbm(String ssgsbm) {
        return getCkbmO(ssgsbm, Long.valueOf(-1)).getBmz();
    }

    /**
     * 仓库编码
     *
     * @param ssgsbm
     * @param ssjgid
     * @return
     * @throws SQLException
     */
    public Bm getCkbmO(String ssgsbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getCkbm(ssgsbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 得到协议编码
     *
     * @param xylx 协议类型，采购协议：1，销售协议：2，三方协议：3
     * @return 协议编码
     * @throws SQLException
     */
    public String getXybm(String xylx) {
        return getXybmO(xylx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 得到协议编码
     *
     * @param xylx   协议类型，采购协议：1，销售协议：2，三方协议：3
     * @param ssgsbm
     * @param ssjgid
     * @return 协议编码
     * @throws SQLException
     */
    public Bm getXybmO(String xylx, String ssgsbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getXybm(xylx, ssgsbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 物资计划编码
     *
     * @param lx TPWZJH统配物资计划 ZGWZJH自购物资计划
     * @return 物资计划编码
     */
    public String getWzjhbm(String lx) {
        return getWzjhbmO(lx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 物资计划编码
     *
     * @param ssgsbm 机构编码
     * @param ssjgid 机构id
     * @return 物资计划编码
     */
    public Bm getWzjhbmO(String lx, String ssgsbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getWzjhbm(lx, ssgsbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 资金计划编码
     *
     * @param lx 类型  TPZJJH统配资金计划 ZGZJJH自购资金计划
     * @return 资金计划编码
     */
    public String getZjjhbm(String lx) {
        return getZjjhbmO(lx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 资金计划编码
     *
     * @param ssgsbm 机构编码
     * @param ssjgid 机构id
     * @return 资金计划编码
     */
    public Bm getZjjhbmO(String lx, String ssgsbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getZjjhbm(lx, ssgsbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 生成合同编码
     *
     * @param htlx 合同类型，库存销售：1，直达销售：2，采购入库：3，采购直达：4,保供合同：5
     * @return 生成合同编码
     */
    public String getHtbm(String htlx) {
        return getHtbmO(htlx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 生成合同编码
     *
     * @param htlx   合同类型，库存销售：1，直达销售：2，采购入库：3，采购直达：4,保供合同：5
     * @param ssgsbm 机构编码
     * @param ssjgid 机构id
     * @return 生成合同编码
     */
    public Bm getHtbmO(String htlx, String ssgsbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getHtbm(htlx, ssgsbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 采购单编码
     *
     * @param cgdlx --采购单类型，库存销售：1，直达销售：2
     * @return 采购单编码
     */
    public String getCgdbm(String cgdlx) {
        return getCgdbmO(cgdlx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 采购单编码
     *
     * @param cgdlx  --采购单类型，库存销售：1，直达销售：2
     * @param cghtbm 采购合同编码
     * @param ssjgid 机构Id
     * @return 采购单编码
     */
    public Bm getCgdbmO(String cgdlx, String cghtbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getCgdbm(cgdlx, cghtbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 销售单编码
     *
     * @param xsdlx --销售单类型，库存销售：1，直达销售：2
     * @return 销售单编码
     */
    public String getXsdbm(String xsdlx) {
        return getXsdbmO(xsdlx, "", Long.valueOf(-1)).getBmz();
    }

    /**
     * 销售单编码
     *
     * @param xsdlx  --销售单类型，库存销售：1，直达销售：2
     * @param xshtbm 销售合同编码
     * @param ssjgid 机构Id
     * @return 销售单编码
     */
    public Bm getXsdbmO(String xsdlx, String xshtbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getXsdbm(xsdlx, xshtbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 电子借款单编码
     *
     * @return 电子借款单编码
     */
    public String getJkdbm() {
        return getJkdbmO("", Long.valueOf(-1)).getBmz();
    }

    /**
     * 电子借款单编码
     *
     * @param zjjhbm 资金计划编码
     * @param ssjgid 机构ID
     * @return 电子借款单编码
     */
    public Bm getJkdbmO(String zjjhbm, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getJkdbm(zjjhbm, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 结算单编码
     *
     * @param jsdlx 结算单类型，采购结算单：1，销售结算单：2
     * @return 结算单编码
     */
    public String getJsdbm(String jsdlx) {
        return getJsdbmO(jsdlx, Long.valueOf(-1)).getBmz();
    }

    /**
     * 结算单编码
     *
     * @param jsdlx  结算单类型，采购结算单：1，销售结算单：2
     * @param ssjgid 机构id
     * @return 结算单编码
     */
    public Bm getJsdbmO(String jsdlx, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getJsdbm(jsdlx, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 收付款单编码
     *
     * @param lx 收付款单类型，收款单：1，付款单：2
     * @return 收付款单编码
     */
    public String getSfdbm(String lx) {
        return getSfdbmO(lx, Long.valueOf(-1)).getBmz();
    }


    /**
     * 收付款单编码
     *
     * @param lx     收付款单类型，收款单：1，付款单：2
     * @param ssjgid 机构编码
     * @return 收付款单编码
     */
    public Bm getSfdbmO(String lx, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getSfdbm(lx, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 出入库单编码
     *
     * @param lx 收付款单类型，出库单：1，入库单：2
     * @return 出入库单编码
     */
    public String getCrkdbm(String lx) {
        return getCrkdbmO(lx, Long.valueOf(-1)).getBmz();
    }

    /**
     * 出入库单编码
     *
     * @param lx     收付款单类型，出库单：1，入库单：2
     * @param ssjgid 机构编码
     * @return 出入库单编码
     */
    public Bm getCrkdbmO(String lx, Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getCrkdbm(lx, ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 配送单编码
     *
     * @return 配送单编码
     */
    public String getPsdbm() {
        return getPsdbmO(Long.valueOf(-1)).getBmz();
    }

    /**
     * 配送单编码
     *
     * @param ssjgid 机构编码
     * @return 配送单编码
     */
    public Bm getPsdbmO(Long ssjgid) {
        Bm bm = null;
        try {
            bm = bmDao.getPsdbm(ssjgid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 库存卡号编码
     *
     * @param ckid 仓储编码
     * @return 库存卡号编码
     */
    public String getKckhbm(Long ckid) {
        return getKckhbmO(ckid).getBmz();
    }

    /**
     * 库存卡号编码
     *
     * @param ckid 仓储编码
     * @return 库存卡号编码
     */
    public Bm getKckhbmO(Long ckid) {
        Bm bm = null;
        try {
            bm = bmDao.getKckhbm(ckid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 内部领料编码
     *
     * @return
     * @throws SQLException
     */
    public String getLldbm() {
        return getLldbmO().getBmz();
    }

    /**
     * 内部领料编码
     *
     * @return
     * @throws SQLException
     */
    public Bm getLldbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getLldbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 转库单号
     *
     * @return
     * @throws SQLException
     */
    public String getZkdhbm() {
        return getZkdhbmO().getBmz();
    }

    /**
     * 转库单号
     *
     * @return
     * @throws SQLException
     */
    public Bm getZkdhbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getZkdhbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 回款计划
     *
     * @return
     * @throws SQLException
     */
    public String getHkjhbm() {
        return getHkjhbmO().getBmz();
    }

    /**
     * 回款计划
     *
     * @return
     * @throws SQLException
     */
    public Bm getHkjhbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getHkjhbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    /**
     * 二级账户编码
     *
     * @return
     * @throws SQLException
     */
    public Bm getEjzhbm() {
        Bm bm = null;
        try {
            bm = bmDao.getEjzhbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }
    /**
     * 库存盘点
     *
     * @return
     * @throws SQLException
     */
    public String getKcpdbm() {
        return getKcpdbmO().getBmz();
    }

    /**
     * 库存盘点
     *
     * @return
     * @throws SQLException
     */
    public Bm getKcpdbmO() {
        Bm bm = null;
        try {
            bm = bmDao.getKcpdbm();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bm;
    }

    private BmDao bmDao;

    @Autowired
    public void setBmDao(BmDao bmDao) {
        this.bmDao = bmDao;
    }
}
